//package yt.MajorClass.config;
//
//import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.security.core.GrantedAuthority;
//import org.springframework.security.core.authority.AuthorityUtils;
//import org.springframework.security.core.userdetails.User;
//import org.springframework.security.core.userdetails.UserDetails;
//import org.springframework.security.core.userdetails.UserDetailsService;
//import org.springframework.security.core.userdetails.UsernameNotFoundException;
//import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
//import org.springframework.stereotype.Service;
//import yt.MajorClass.entity.Users;
//import yt.MajorClass.mapper.UsersMapper;
//
//import java.util.List;
//
//
//@Service("userDetailsService")
//public class MyUserDetailsService implements UserDetailsService {
//
//    @Autowired
//    private UsersMapper usersMapper; /* 【必填】用来获取用户 */
//
//    @Override
//    public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
//          /*修改区
//            【必填】从这里通过 username 从数据库获取 user
//           */
//            QueryWrapper<Users> wrapper = new QueryWrapper<>();
//            wrapper.eq("username", username);
//            Users user = usersMapper.selectOne(wrapper);
//
//        // 权限修改
//        List<GrantedAuthority> auths = AuthorityUtils
//                .commaSeparatedStringToAuthorityList(
//                        /* 【必填】此处传入权限或角色拼成的字符串，各个权限或角色之间用逗号隔开，以下为案例 */
//                        user.getRole() + "," + user.getRoot()
//                        // 角色以ROLE_开头 权限直接写即可
//                        // 实际开发建议用 user.root() + "," + user.role() 的方式传入
//                );
//        // 比如 "boss,ROLE_admin,root,ROLE_sale" root就是一个权限  admin 就是一个角色
//        return new User(
//                user.getUsername(),  // 账号
//                new BCryptPasswordEncoder().encode(user.getPassword()),
//                // 密码 （加密）					这个括号内是传密码
//                auths  // 传入的角色  固定
//        );
//    }
//}
